package com.sdhs.projectschedule.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdhs.common.annotation.Excel;
import lombok.Data;
import com.sdhs.common.core.domain.BaseEntity;

/**
 * 项目进度控制--回款跟踪对象 gc_progress_payment_collection_tracking
 *
 * @author andong
 * @date 2025-03-12
 */
@Data
public class GcProgressPaymentCollectionTracking extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 回款跟踪主键 */
    private Long id;

    /** 关联项目id */
    @Excel(name = "关联项目id")
    private Long projectId;

    /** 合同节点 */
    @Excel(name = "合同节点")
    private String contractNode;

    /** 预计完成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计完成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** 计划回款比例 */
    @Excel(name = "计划回款比例")
    private BigDecimal plannedRepaymentProportion;

    /** 计划回款金额 */
    @Excel(name = "计划回款金额")
    private BigDecimal paidBackMoney;

    /** 已回款（元） */
    @Excel(name = "已回款", readConverterExp = "元")
    private BigDecimal paidBack;

    /** 已回款比例 */
    @Excel(name = "已回款比例")
    private BigDecimal paidBackProportion;

    /** 已开票 */
    @Excel(name = "已开票")
    private BigDecimal invoicedOut;

    /** 已开票比例 */
    @Excel(name = "已开票比例")
    private BigDecimal invoicedOutProportion;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creater;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updater;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private String isDelete;

    /** 回款跟踪合同字段 */
    private String stringAgg;
    private String money;
    private String sumPaidBack;
    private String sumPaidBackProportion;
    private String sumInvoicedOut;
    private String sumInvoicedOutProportion;
    private String contractId;
    private String signDate;//签约日期
    private String name; //合同名称
    private String num;//合同编号
    private BigDecimal notMoney; //合同不含税金额


    /** 已开票金额（不含税）{支付跟踪/回款跟踪} */
    private BigDecimal notInvoicedAmount;

    /** 未开发票金额（含税）{支付跟踪/回款跟踪}*/
    private BigDecimal uninvoicedAmount;

    /**未开发票比例{支付跟踪/回款跟踪}*/
    private BigDecimal proportionUnissuedInvoices;

    /**收入确认金额(收入类合同)*/
    private BigDecimal amountRevenueRecognized;

    /**收入确认金额（不含税）(收入类合同)*/
    private BigDecimal notAmountRevenueRecognized;

    /** 收入确认比例(收入类合同)*/
    private BigDecimal revenueRecognitionRatio;

    /**应收账款(收入类合同)*/
    private BigDecimal accountsReceivable;

    /**合同资产(收入类合同)*/
    private BigDecimal contractAssets;
    private BigDecimal sumAccountsReceivable;
    private BigDecimal sumContractAssets;
}
